
package modelos;

import java.sql.SQLException;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.logging.Level;
import java.util.logging.Logger;
import main.ConectarBaseDatos;
import org.omg.PortableInterceptor.SYSTEM_EXCEPTION;


public class modelo_producto {
    String id,nombre,descripcion,id_categoria;
    float precio;
    ConectarBaseDatos con = new ConectarBaseDatos();

    public ConectarBaseDatos getCon() {
        return con;
    }

    public void setCon(ConectarBaseDatos con) {
        this.con = con;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getId_categoria() {
        return id_categoria;
    }

    public void setId_categoria(String id_categoria) {
        this.id_categoria = id_categoria;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public float getPrecio() {
        return precio;
    }

    public void setPrecio(float precio) {
        this.precio = precio;
    }

       public boolean insertar(String id, String nombre, String descripcion,String id_categoria,String precio,LinkedList<modelo_ingrediente> linfo_ingredientes)
    {
            con.conectar();
            String sql = " insert into tproducto(id_pro,nombre,descripcion,precio,id_cat) values ('"+id+"','"+nombre+"','"+descripcion+"',"+precio+",'"+id_categoria+"')";
            con.exec(sql);
            con.desconectar();
           

            for (Iterator<modelo_ingrediente> it = linfo_ingredientes.iterator(); it.hasNext();) {
            modelo_ingrediente info_ingrediente = it.next();
            String sqlcodigo = "SELECT COUNT(DISTINCT id_ing_prod) FROM t_ing_prod";
            int id_ing_prod=0;
              try {
                con.conectar();
                con.exec(sqlcodigo);
                 while (con.rs.next()) {
                    id_ing_prod =con.rs.getInt(1)+1;
                 }

                 } catch (SQLException ex) {
                    Logger.getLogger(modelo_producto.class.getName()).log(Level.SEVERE, null, ex);

                 }

              String sql2 = " insert into t_ing_prod(id_ing_prod,cantidad,id_ing,id_pro) values ('"+id_ing_prod+"',"+info_ingrediente.getCantidad()+",'"+info_ingrediente.getId()+"','"+id+"')";
              System.out.print(sql2);
              con.conectar();
              con.exec(sql2);
              con.desconectar();



            }
            return true;
    }

    public LinkedList<modelo_producto> get_info(){
    LinkedList<modelo_producto> info_productos = new LinkedList<modelo_producto>();
    String sql="select * from tproducto";
    con.conectar();
    con.exec(sql);
    try{
         while (con.rs.next()){
            modelo_producto  m_producto = new modelo_producto();
            m_producto.setId(con.rs.getString("id_pro"));
            m_producto.setNombre(con.rs.getString("nombre"));
            m_producto.setDescripcion(con.rs.getString("Descripcion"));
            m_producto.setId_categoria(con.rs.getString("id_cat"));
            m_producto.setPrecio(con.rs.getFloat("precio"));
            info_productos.add(m_producto);
         }
    } catch (SQLException ex) {
        Logger.getLogger(modelo_producto.class.getName()).log(Level.SEVERE, null, ex);
    }
    return info_productos;
  }


    public void  restarCantidad(LinkedList<modelo_producto> a)
    {
        for (Iterator<modelo_producto> it = a.iterator(); it.hasNext();) {
            modelo_producto producto = it.next();
            String sql = "select tproducto.id_pro as producto,t_ing_prod.id_ing as producto,t_ing_prod.cantidad as cantidad from tingrediente,t_ing_prod,tproducto where tingrediente.id_ing = t_ing_prod.id_ing and  tproducto.id_pro	 = t_ing_prod.id_pro ";

        }



    }


  


}
